export default {
  /**
   * keyword: "五棵松日韩料理第2名,鸡汤不错" 
   * => keyword: ["五棵松日韩料理第2名", "鸡汤不错"]
   * 
   * 处理带有keyword字段的JSON数据，并将该字段的字符串改为数组
   * @param {*} array 后端响应的JSON数据
   * @param {*} key 指定的JSON数据里某一属性名
   * @returns 返回一个改好指定字段数组的JSON数据
   */
  formatJSON(array, key) {
    return array.filter((item) => {
      if (item[key]) {
        item[key] = item[key].split(',');
      }
      return item;
    })
  },
  /**
   * 将JSON字符串数据转为数组
   * @param {*} str 
   * @returns 
   */
  jsonToArr(str) {
    return JSON.parse(str);
  },
  /**
   * 将逗号隔开字符串数据转为数组
   * @param {*} str 
   * @returns 
   */
  strToArr(str) {
    return str.split(',');
  },
  replaceToSpace(str) {
    //匹配所有逗号全局替换为空格
    return str.replace(/,/g, ' ');
  },
  // 替换空格
  trimSpace(str) {
    return str.replace(/\s+/g, '');
  },
  //节流
  throttle(fn, delay) {
    var t = null,
      begin = new Date().getTime();

    return function () {
      var _self = this,
        args = arguments,
        cur = new Date().getTime();

      clearTimeout(t);

      // 当前 - 之前 >= 延时时间
      if (cur - begin >= delay) {
        fn.apply(_self, args);
        // 统一时间
        begin = cur;
      } else {
        t = setTimeout(function () {
          fn.apply(_self, args);
        }, delay);
      }
    }
  }
}
